package A2017;

import java.util.Scanner;

/*
 * 考虑一种简单的正则表达式：
只由 x ( ) | 组成的正则表达式。
小明想求出这个正则表达式能接受的最长字符串的长度。  
例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是： xxxxxx，长度是6。
输入
----
一个由x()|组成的正则表达式。输入长度不超过100，保证合法。  
输出
----
这个正则表达式能接受的最长字符串的长度。  
例如，
输入：
((xx|xxx)x|(x|xx))xx  
程序应该输出：
6  
资源约定：
峰值内存消耗（含虚拟机） < 256M
CPU消耗  < 1000ms
 */
public class _7_正则问题 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		s = in.next();
		n = s.length();
		System.out.println(f());
	}

	static String s;
	static int p = 0;// 记录指针
	static int n = 0;// 记录长度

	static int f() {
		int ans = 0, temp = 0;
		while (p < n) {
			if (s.charAt(p) == '(') {
				p++;
				temp += f();
			} else if (s.charAt(p) == 'x') {
				p++;
				temp++;
			} else if (s.charAt(p) == '|') {
				p++;
				ans = Math.max(ans, temp);
				temp = 0;// 结算清零，上面ans已经保存了temp的值了,如果有3|4|5 那么相当于3|4计算在ans里面了
			} else if (s.charAt(p) == ')') {
				p++;
				return Math.max(ans, temp);
			}
		}
		return Math.max(ans, temp);
	}
}
